package com.example.librarymanagement.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.example.librarymanagement.dto.menu.MenuDto;
import com.example.librarymanagement.entity.Menu;
import com.example.librarymanagement.vo.MenuNavVo;

import java.util.List;

/**
 * @author fgba
 * @since 2021-05-08
 */
public interface IMenuService extends IService<Menu> {

    /**
     * 获取当前用户导航栏
     *
     * @return 导航栏树型列表
     */
    List<MenuNavVo> getCurrentUserNav();

    /**
     * 获取菜单树型结构
     *
     * @return 菜单树型结构
     */
    List<Menu> getMenuTreeList();

    /**
     * 添加或修改菜单（有id则修改）
     *
     * @param menuDto 菜单dto对象
     * @return 是否操作成功（true为成功）
     */
    Boolean addOrUpdMenu(MenuDto menuDto);

    /**
     * 根据id删除菜单
     *
     * @param id id
     * @return 是否操作成功（true为成功）
     */
    Boolean delMenu(Integer id);
}
